/**
 * File Name : AdlProductionHeader.java
 * Create Time : Apr 13, 2016
 */
package entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import lombok.Data;

/**
 * @author Mht
 *
 * @version 2016 For RDM
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "ADL_PRODUCTION_HEADER")
public @Data class AdlProductionHeader implements Serializable {

	@Id
	@Column(name = "ENTITY_CODE")
	private String entityCode;

	@Column(name = "ENTITY_NAME")
	private String entityName;

	@Column(name = "ENTITY_TYPE")
	private String entityType;

	@Column(name = "ENTITY_SOURCE")
	private String entitySource;

	@Column(name = "PRODUCT_CODE")
	private String productCode;

	@Column(name = "PRODUCT_NAME")
	private String productName;

	@Column(name = "STATE_CODE")
	private String stateCode;

	@Column(name = "STATE_NAME")
	private String stateName;

	@Column(name = "COUNTY_CODE")
	private String countyCode;

	@Column(name = "COUNTY_NAME")
	private String countyName;

	@Column(name = "DISTRICT_CODE")
	private String districtCode;

	@Column(name = "DISTRICT_NAME")
	private String districtName;

	@Column(name = "DISTRICT_NUMBER")
	private String districtNumber;

	@Column(name = "FIELD_CODE")
	private String fieldCode;

	@Column(name = "FIELD_NAME")
	private String fieldName;

	@Column(name = "PRODUCTION_REGION_CODE")
	private String productionRegionCode;

	@Column(name = "PRODUCTION_REGION_NAME")
	private String productionRegionName;

	@Column(name = "OFFSHORE_SITUATION_NAME")
	private String offshoreSituationName;

	@Column(name = "FORMATION_CODE")
	private String formationCode;

	@Column(name = "FORMATION_NAME")
	private String formationName;

	@Column(name = "POOL_CODE")
	private String poolCode;

	@Column(name = "POOL_NAME")
	private String poolName;

	@Column(name = "OPERATOR_CODE")
	private String operatorCode;

	@Column(name = "OPERATOR_NAME")
	private String operatorName;

	@Column(name = "GEOLOGIC_PROVINCE_CODE")
	private String geologicProvinceCode;

	@Column(name = "GEOLOGIC_PROVINCE_NAME")
	private String geologicProvinceName;

	@Column(name = "LEASE_NUMBER")
	private String leaseNumber;

	@Column(name = "LEASE_UNIT_CODE")
	private String leaseUnitCode;

	@Column(name = "ON_PRODUCTION_DATE")
	private Date onProductionDate;

	@Column(name = "LAST_PRODUCTION_DATE")
	private Date lastProductionDate;

	@Column(name = "ABANDONMENT_DATE")
	private Date abandonmentDate;

	@Column(name = "WELL_NUMBER")
	private String wellNumber;

	@Column(name = "API_NUMBER")
	private String apiNumber;

	@Column(name = "STATUS_CODE")
	private String statusCode;

	@Column(name = "STATUS_NAME")
	private String statusName;

	@Column(name = "NO_OF_OIL_WELLS")
	private BigDecimal noOfOilWells;

	@Column(name = "NO_OF_GAS_WELLS")
	private BigDecimal noOfGasWells;

	@Column(name = "COMPLETION_DATE")
	private Date completionDate;

	@Column(name = "HOLE_DIRECTION")
	private String holeDirection;

	@Column(name = "TOP_DEPTH")
	private BigDecimal topDepth;

	@Column(name = "BASE_DEPTH")
	private BigDecimal baseDepth;

	@Column(name = "TOTAL_DEPTH")
	private BigDecimal totalDepth;

	@Column(name = "WELL_IDENTIFIER")
	private String wellIdentifier;

	@Column(name = "LAST_UPDATE")
	private Date lastUpdate;

	@Column(name = "CUMULATIVE_CARBON_DIOXIDE")
	private BigDecimal cumulativeCarbonDioxide;

	@Column(name = "CUMULATIVE_CASINGHEAD_GAS")
	private BigDecimal cumulativeCasingheadGas;

	@Column(name = "CUMULATIVE_CONDENSATE")
	private BigDecimal cumulativeCondensate;

	@Column(name = "CUMULATIVE_GAS")
	private BigDecimal cumulativeGas;

	@Column(name = "CUMULATIVE_OIL")
	private BigDecimal cumulativeOil;

	@Column(name = "CUMULATIVE_WATER")
	private BigDecimal cumulativeWater;

	@Column(name = "LOCATION_TABLE")
	private String locationTable;

	@Column(name = "OFFSHORE_RESERVOIR_NAME")
	private String offshoreReservoirName;

	@Column(name = "CZONE")
	private String czone;

	@Column(name = "UPDATE_DATE")
	private Date updateDate;

	@Column(name = "NO_OF_INJ_WELLS")
	private BigDecimal noOfInjWells;
}
